OO languages late-binding signature
نویسنده
چکیده
Most comparisons among OO languages focus on structural or philosophical features but rarely on dynamic ones. Beyond all these structural properties, late-binding is, to our opinion, the key property of OO paradigm; the operational consequence of inheritance use. All OO languages use late-binding, but do they all have the same interpretation? We show that the answer is no, not very surprisingly, but that almost each language has its own interpretation. We propose a simple procedure to compare latebinding interpretation of OO languages and introduce a late-binding signature of OO programming languages. This procedure can be used to study language interactions as we will show it for the Microsoft .NET framework.
منابع مشابه
Inter-Class Mutation Operators for Java
The effectiveness of mutation testing depends heavily on the types of faults that the mutation operators are designed to represent. Therefore, the quality of the mutation operators is key to mutation testing. Mutation testing has traditionally been applied to procedural-based languages, and mutation operators have been developed to support most of their language features. Object-oriented progra...
متن کاملAWeakest Precondition Semantics for OO Languages: An OO-Separation Logic Approach
In recent years, many researchers in the programming language and formal methods communities have been investigating weakest precondition (WP) semantics for object-oriented (OO) programs. Based on a modified version of Separation Logic, OO Separation Logic, we develop in this article a WP semantics for an OO language with most important object-oriented features including subtypes, visibility, i...
متن کاملAutomatic Monitoring of Control-flow Through Inheritance Hierarchies
Polymorphism, based on inheritance and dynamic binding in standard object-oriented languages, is one of the most powerful mechanisms available to the OO designer. It allows the system designer to customize the behavior of functions defined in particular base classes by suitably redefining, in derived classes, other functions that they invoke. At the same time, polymorphism, especially when used...
متن کاملIs MDA achievable without a proper definition of late-binding?
The Unified Modeling Language is an attempt to define a unified notation for Object-Oriented technology users. Since a notation without semantics is not precise enough, succeeding versions have improved the expressive power of UML. First, Object Constraint Language, permitting the description of invariants, pre and post conditions, was included in UML. More recently, Action Semantics has been a...
متن کاملMaintenance Support for Untyped Object-Oriented Programs
The software development paradigm of object-oriented (OO) programming has become increasingly popular in recent years. Features not available in conventional programming languages such as inheritance, dynamic binding and polymorphism offer advantages, they also raise problems of maintaining object-oriented programs. Some object-oriented languages do not allow type annotations to be specified in...
متن کامل